class Deposit < ActiveRecord::Base
  belongs_to :payer, :class_name => 'User', :foreign_key => 'from_user_id'
  belongs_to :casher, :class_name => 'User', :foreign_key => 'to_user_id'

#  validates_presence_of :from_user_id
#  validates_numericality_of :from_user_id  
  validates_presence_of :to_user_id, :message => "^Er moet een gebruiker geselecteerd zijn"
  validates_numericality_of :to_user_id, :message => "^De gebruiker moet bestaan"
  validates_presence_of :amount, :message => "^Er moet een bedrag zijn ingevuld"
  validates_numericality_of :amount, :message => "^Het bedrag moet een nummer zijn"
  
  after_save :send_mail_about_new_deposit
  
  acts_as_money :amount
  
  
  def self.find_unconfirmed_deposits(user)
    Deposit.find_all_by_to_user_id_and_confirmed(user.id, false)
  end
  
  def send_mail_about_new_deposit
    Mailer.deliver_notify_about_deposit(self) if self.casher.mail_deposit?
  end
  
  def confirmed
    attributes['confirmed'] == true
  end
  
end
